// <copyright file="ContainerQualifiedWildcardSelectItem.cs" company="Microsoft">
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//---------------------------------------------------------------------

namespace Microsoft.Data.OData.Query.SemanticAst
{
    using Microsoft.Data.Edm;

    /// <summary>
    /// Class to represent the selection of all the actions and functions in a specified container.
    /// </summary>
    public sealed class ContainerQualifiedWildcardSelectItem : SelectItem
    {
        /// <summary>
        /// The <see cref="IEdmEntityContainer"/> whose actions and functions should be selected.
        /// </summary>
        private readonly IEdmEntityContainer container;

        /// <summary>
        /// Creates an instance of this class with the specified <paramref name="container"/>.
        /// </summary>
        /// <param name="container">The <see cref="IEdmEntityContainer"/> whose actions and functions should be selected.</param>
        /// <exception cref="System.ArgumentNullException">Throws if the input container is null.</exception>
        public ContainerQualifiedWildcardSelectItem(IEdmEntityContainer container)
        {
            ExceptionUtils.CheckArgumentNotNull(container, "container");
            this.container = container;
        }

        /// <summary>
        /// Gets the <see cref="IEdmEntityContainer"/> whose actions and functions should be selected.
        /// </summary>
        public IEdmEntityContainer Container
        {
            get { return this.container; }
        }
    }
}